package com.sh.example.consumer;

import com.sh.example.common.model.User;
import com.sh.example.common.service.UserService;
import com.sh.rpc.proxy.ServiceProxyFactory;

public class EasyConsumerExample {
    public static void main(String[] args) {
        // 静态代理  在代理中RPC发起请求
//        UserService userService = new UserServiceProxy();
        // 测试mock
        UserService userService = ServiceProxyFactory.getProxy(UserService.class);
        User user = new User();
        user.setName("张三");
        User newUser = userService.getUser(user);
        if ( newUser != null ) {
            System.out.println(newUser);
        }else {
            System.out.println("user is not exist");
        }
        userService.getNumber();   // 第一次服务发现    就会获得监听对象   但是这次不会被监听
        System.out.println("=============================");
        userService.getNumber();   // 第二次服务发现    不会被监听
        System.out.println("=============================");
        userService.getNumber();   // 第三次服务发现    会被监听
        System.out.println("=============================");
        userService.getNumber();
        System.out.println("=============================");
//        UserService mockPoxy = ServiceProxyFactory.getProxy(UserService.class);
//        System.out.println(mockPoxy.getNumber());  // 0   代理的模拟的mock返回的
    }
}
